iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
DevOps

30天的社群機器人之旅系列 第 17

Day 17 Telegram Bot 準備

  • 分享至 

  • xImage
  •  

我們要進入 Telegram Bot 的世界,同樣需要準備一下。

  1. 先加入 BotFather
    ID @BotFather
    連結 https://t.me/BotFather
  2. 使用 BotFather 建立新的 Bot
    對著 BotFather 輸入 /newbot
    輸入 Bot 名稱 (必須以 bot 結尾,ex.abcxyz_bot)
    取得 Bot TOKEN (類似 1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789 這樣)
  3. 安裝套件
    $ pip install python-telegram-bot
    

接著我們同樣就可以開啟一個新的專案資料夾,結構如下

linebot_test
├── .env
└── app.py

雖然結構跟 Line Bot 一樣,但是是完全不同的內容,只是我習慣都取 app.py 這個名字。

接著我們首先先來看看設定的部分。

.env

TELEGRAM_TOKEN="<Your token>"

接著看看主要程式的部分。

app.py

import os
import logging

from telegram import Update
from telegram.ext import Updater, Filters, CallbackContext
from telegram.ext import MessageHandler, CommandHandler, InlineQueryHandler, CallbackQueryHandler


logging.basicConfig(level=logging.DEBUG)


def message_handler(update: Update, context: CallbackContext):
    context.bot.send_message(chat_id=update.message.chat.id, text=update.message.text)


updater = Updater(os.environ["TOKEN"])
updater.dispatcher.add_handler(MessageHandler(filters=Filters.text, callback=message_handler))


if __name__ == "__main__":
    updater.start_polling()
    updater.idle()
    updater.stop()

基本上複製貼上就可以了,我們先測試一下環境是 OK 的在進入下一步。

好了之後,就要把它執行起來了。

$ python app.py

執行起來後,我們對著我們的 Telegram Bot 發送文字訊息,沒意外的話它會回覆我們同樣的訊息,這樣就表示我們成功了。

那麼就先到這邊,不得不說 Line Bot 跟 Telegram Bot 雖然同樣為 Bot ,但是兩個之間還是具有相當不同的。

大家掰~掰~


上一篇
Day 16 Telegram
下一篇
Day 18 Telegram Bot 說明
系列文
30天的社群機器人之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言